<?php
/**
 * Created by PhpStorm.
 * User: Inhere
 * Date: 14-4-8
 * Time: 上午11:26
 * 目录 路径 系统常量定义
 */
// define ('DIR_SEP'       ,  DIRECTORY_SEPARATOR );   // 目录分隔符


////////////////////////////// 常用信息 //////////////////////////////

    // window 环境
    define('IS_WIN'     ,    strstr(PHP_OS, 'WIN')       ? true : false );

    // linux 环境
    define('IS_LIN'     ,    strstr(PHP_OS, 'LIN')       ? true : false );

    // 命令行 环境
    define('IS_CLI'     ,    in_array( PHP_SAPI, ['cli', 'cli-server'] )   );


    define('IS_AJAX'    ,    isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtoupper($_SERVER['HTTP_X_REQUESTED_WITH']) == 'XMLHTTPREQUEST');

    // 是否开启转义
    define("HAS_MAGIC_QUOTES", @get_magic_quotes_gpc()  ? true : false);


////////////////////////////// 系统路径 path //////////////////////////////

    // 服务器根路径
    defined('ROOT_PATH') or
     define( 'ROOT_PATH'  , str_replace("\\", "/", $_SERVER['DOCUMENT_ROOT']) );

    // 系统路径(框架)
    define ('SYS_PATH'    ,  str_replace('\\', '/', __DIR__) );

    // 系统核心库 core
    define('SYS_CORE'     ,   SYS_PATH . '/core' );

    // 系统库 路径
    define('SYS_LIBS'     ,   SYS_PATH . '/libs' );
    //
    define('SYS_PARTS'    ,   SYS_PATH . '/parts' );

////////////////////////////// 项目 应用路径 //////////////////////////////

$scriptFileDir = str_replace('\\', '/',  realpath( dirname($_SERVER['SCRIPT_FILENAME']) ) );

if (IS_CLI) {

    // 项目路径 路径 PROJECT_PATH
    defined('PROJECT_PATH') or define( 'PROJECT_PATH'  ,    $scriptFileDir );
} else {
    // (可访问的)虚拟站点路径，在web/下
    defined('WEB_PATH')     or define( 'WEB_PATH'      ,    $scriptFileDir );

    // 项目路径 路径 PROJECT_PATH
    defined('PROJECT_PATH') or define( 'PROJECT_PATH'  ,    dirname(WEB_PATH) ); //  index.php在web/下
}

    // 公共代码路径
    define( 'COMM_PATH'    , PROJECT_PATH.'/comm' );

    // 应用源代码路径
    define( 'SRC_PATH'    , PROJECT_PATH.'/src' );

    // 目录
    define( 'RUN_PATH'    , PROJECT_PATH.'/run' );

    // 目录
    define( 'VENDOR_PATH' , PROJECT_PATH.'/vendor' );

    //缓存路径
    define('CACHE_PATH',     RUN_PATH . '/caches' );

    //日志路径
    define('LOG_PATH',       RUN_PATH . '/logs'  );

    unset($scriptFileDir);


